improve support for composite keys