Object Oriented Finite Element Method