把stack解耦出来