implement msg counter