got basic iterator pattern working