Add basic ctor, functions and data for Layer, add new structures