Added two basic agents, split off some code where necessary, fixed the base agents class.