Constructor now takes an options hash rather than a number