basic interface done