fix add() to respect options