modify hxlist to be much more smart