add library interface