additional layer skeleton added to req3 for instructive purposes, might require toggle features at later implementation