starting modularization.. (get away from one large file...)