add __DATA__ to most service files and then make services, during construction, call $self->load(), which loads any unloaded __DATA__ blocks in any of the module's ISA chain. Move PLIF/Service/Components to PLIF/Component Move PLIF/Service/User* to PLIF/Session/* Move PLIF/Service/Session.pm to PLIF/Session.pm Move PLIF/Service/ContactMethods to PLIF/ProtocolHelper/... Move PLIF/DataSource/*/MySQL.pm to PLIF/DataSource/MySQL/*.pm CGI input needs POST support Change output system (again) by removing the pointless dispatch.generic layer. All it does is convert a set of parameters into a hash labelling those parameters. The callers can do that, it's just like requiring named arguments. Need to move default default strings to the PLIF directory