extract operation functions