added edge case where user's favourite language is nil
all tests pass