improve tasks functionality