added in some classes to manage things