first version of the interface