new errors format
style improvements
looks like yield not working