added more tests and developed exception checks for them