Do extra credit. Set argv and states. Re-order code.