added overriding of fields and strict mode to throw up