uses datetime for timestamps and stores singular associations in normalised form