graph stack
use domain as  val factories