got rid of confusing no_error flag that is actually unnecessary