Revised Layer class