adding bag functionality. As of now deletion is not yet implemented