finished agent interface