change to use scala dsl