Removed the OO code. The structure need to be thought through in order to support pipelining.