Rewrote simple decoupling class in gate object way

Ready to test Probably going to be buggy