still need to catch the exceptions
fix the tests