Make commons a factory, close #44