cleaned up generator in prep for full implementation