Initial Commit

Assignment finished but may change before due date