collisions done... not quite tested though...