Design refactor