moving list functionality to object, cleanup.