try to do some bcnf stuff, almost got it i think