add some inline documentation
update libraries