test
Major Refactoring
new algo half done