[feature] added the layer data structure