made options object either a struct or raw