new counter implement