moved termination conditions out of dsl
dsl uses strategy