implemented mooreNB need forward declaration resolved