added an error type, still working on the system