initial agent interface class
initial agent interface class
cleaner base classes