Demo 1 - refactor