re-factored the project by defining ProjectSpecs class