improve meta function