barrier somewhat implemented still need to do collisions