added object creation patterns