add farm logic