Incomplete - task : Rewrite to Oopk model