loop and meta refactor