error handling and cleaner code