Separated factories into individual files