Refactored a lot of code and fixed many design flaws
Move old code removal