prefer .hasOwnProperty() to the 'in' operator