Abstracting a concept and reuising it