make lib more verbouse and cache data where possible