implement fee interface