return better errorcodes