added add implementation comparison