totally broken modularization attempt