add option/options methods + bug fix in then() callback