implement bibitem replacement