move techlevelfactory into directive