more work for object creation