Converted most modules to OO design