merge'
everything
major changes.
error codes added