moved logic into objectspace