obstacle movement and random generation added