Added Selected module and functional update

1. Added Selected as a module.
2. Renamed AdditionalFunctions to BaseFunctions.
3. Added function id() and updated all related code.