no count abstraction