second stab at modulizing