more ops implemented