feat: throw error objects

instead of just strings
you'll get a stacktrace and are able to debug the problem

also using single quotes instead of double quotes (jshint)