refactor interfaces / callbacks to match the convention of the rest of the code