everything needs to use value