Designed the interfaces