non static dto factory