compatible with older AR, and more backends, e.g. Oracle