implemented Counter'