cross generation stuff