not necessary for a library