implementation selector