interface, exception handling and further work