adding more tests & refactoring