fix
change cursor
refact
add events