solved some issues with the error handling system by re-writing it.