external backend