added profiling and error handling packages