fully functional - added remove