using lazy loading to instance factories inside factories