change second arg to constructor to be opts

this will be useful for extensions and future features like proxy properties