basic includes
upgrade include to compile in-tpl, allow context switching