adding ability to pass weighted options