add parameter count check