add tracker and some improvements