optimize demo example (show a hand cursor)
complete implementation