made the errno system. Still needs to be tested