backend basic implementation