updates
improved flow