Initial Attempt at separating code into multiple modules