organised classes into approprite namespaces
added exception handling to test runner