sketching out new api/dsl