Refactoring + dynamic cursor change