concepts refactor