uses cam position