added whitespace, updated tests for non-strict mode, fixed undefined vs null and string vs number bugs