added addFirst method