better interface
docs