add object <-> object collision handling (try2)

obviously something went wrong when I tried to apply changes to this branch