started to add some logic to this library.