added opts and opts.origin
more tests
more tests