Add top level factory and system test