More OOP cleanup -- functionalization