splitting code into backend and frontend systems