implementing hasOwnProperty(), and properties()