First pass at IWC implementation