Added some function and more
Okay, we sort of have a problem. It's not working
Prepared for benchmarking