oop vs fp initial