add ability to pass hash to initialize