extracted the errors to own classes.
Added a DataAccessible object