Mirror instead invoke dynamic, since uses less memory and cpu