Adapted Agent class for inheritace