add layer function