calculate TODO