Basic collision algo. needs a lot of cleanup