implemented gravity_generator