added force generation mechanism