add track/agree function