The basic interface