add some ui and fixed flow