Almost done, program need to be tested