Bring native operations into working form - need more testing and cleanup