beginning to add multi-layer functionality
fleshing out functionality