add rest of lib