some changes regarding callback instead of event generation
time to change how we get the library itself