Rewrote the program
change usage and todo