moved to use simple counters and not integer enum to improve memory performence