Packed some intent into factory methods

Packed some intent into factory methods