user can modify itself