#334 using factory methods for data creation