better Object.keys in order to avoid hasOwnProperty