add enumerate methods