added some versioning and stuff