main interface structure finished