extract numbering module to simplify the adding of another numbering function