[x][add simple_factory and facade(simple)]