Rewrite to oopk form