add a factory for easy object creation