fixme note
use other hasOwnProperty func