Repackaged the project into separate modules