Splitting into frontend and core