Add ability for either bottom or top layer to be dry

Also some refactoring occured.