biaz changes
changed directory structure, added test cases, refactored code