Repackaged the whole project into components