add collision with self and block backwards motion