Added more tests and tried and failed to do optionality