refactored - demo 01