Cam add

This commit is the first cam-part.
Cam detection and selection.