Added more tests and functionallity