Added some abstractions for the different selection modes