add return on error