frontend backend separation