add self for options