made hpx optional