seems i put some bad logic in the coop updating process. this should do a better job