added generic project model