This can be used as a basis for any projec.t