add support for custom primary keys in SQL
update unit tests
update readme