basic interface structure complete