Make based_on a first class option