+ Seems to be working, need to add more edge cases + Focus on performance profiling too + clippy + fmt