updated to reflect the concept int *-backend