add 'mark todo complete' feature