Simplify the interface by adding Selection class

For issue #115