Added external required modules and structured the project