perhaps this will be the final refactor of the foundations of this package...