IBCC implementation for use with cit sci projects. Updated from code written by Kieran Finn.