api changes to improve dsl succinctness.