next iteration getting almost feature complete