add exists(), some fixes on selectable().