get rid of macro for error cleanup
implement blocks for error handling so we can handle errors & return nil in 1 statement
formatting cleanup