now with deleting and some helper methods