added print and set functions