support separated frontend