use a lodash.defaults instead of writing our own merge, closes #1