refs #3 object factory