added Chris' static class and started Invert and other methods needed to make it work