starting with the agent class, added some getters and constructor