adding add functionality