add options to attempt()