fixed add() bug