added add functionality