error handling
added commenting engine