use hasOwnProperty