Multiple new problem solutions + restructuring + common lib