add and delete functions working