multi upsert function
merge #74 and use test-cov on travis