added backend functions