Improved file structure and added a custom ProjectProperty class