First pass on modularization;