refactor the backend a bit