got rid of apply_operator func