Interface and logic