Introduced custom types; values changed from numbers to Options with numbers to better mark empty values