support empty keys. Closes #113