added set functions and documented