added email constraint, edited set and get functions to adopt change