separated ui and ws