fix 3NF bugs