some polishing and adding a register button