refactor c45