introduce value functions