Some refactoring, added mouse cursor