middle layers loads through factory