updated library with basic requirements still need to troubleshoot a few bugs