added some native implementations