as far as possible using native method if property is not 'prototype'