scope concepts refactor