simplify for
fix tryOrError handling, make better error msg