clean backend and interface