Refactor delegate methods