Assignment 5

Assignment 5 with most requirements