silly bug: don't skip swap amounts ending on 0
don't inline lambdas; we will have more later