Refactor + Demo