change initialize to take options hash