rework factory namespace and add readme