edited header and TODO