layers system for the future features.
split each layer into a separate files.
deferred header & internal layers.