definitely could use db constraints.