strung together backend and frontend