simplify the domain factory