big refactor so that rig data can be reused between controllers