added vector classes and shit