extended add() to use options