Added a factory method etc.