refactoring of the layers as well as new layers added