Separate public and system files

This PR splits the public and system files by default.