support self-defined node width