added farmer functionality