added ability to change userdata