added removeFirstOccurenceOf method