Added backend-independent output routines