update libraries, update after API changed, provide some new modularity