Rethought some data types and unique constraints