more backend compiler work