added more tests and modified models