refactoring of HC classes
ILS implementation