Updated module philosophy based on #5