updated: view engine + controller core