the initial lib, updates coming soon