revised TODO