added basic help and error handling