Added comments to majority of code, Made amendments to the domain model