created generic selection class