Producer

Refactored the engine framework. 
Added gradient check.