Renamed IGate -> IGateBlock
Modified isSide Input
added performAction