FIX: add an iterative implementation