change to yeild funcitonality