All of the methods inside the cursor are quite useful outside of it as well, consider making them loose functions or in a class outside of cursor