added count and cycle methods