improved interface
updated inteerface