add implementation for the insertion and also add unit tests