implemented insert and readForward