This is needed for other packages made by myself to function fully, as it contains a lot of generic code that would be repeated otherwise.