Finished coursework2, may need more testing