fix: cursor size to look natural
refactor: unify cursor functions
refactor: move direction functions to separate module
feat: add cursor functions