some modification about meta function