implement profile selection