Adding selection support

The multiple commits are caused by me uploading code via Github. I will rebase it all before I merge. 
About the structure, I have added the strings but I don't know how to make it fit more. Could you clarify what do you want here?