add ->cost()