turn esprit into an actual library, with setup and everything, and a load more basic features