not sure if saving cursor inside the state is a good approach, im not sure why i decided for such refactoring when i touched the project the last time