(iterate think thoughts): subject to change