basic backend functionality implemented