#5 Implement versioning for the library