new code working with ScalaZ trampolining