semimechanical