demo: basic refactoring