Updated the whole source code to follow the newly defined boilerplate