refactor: layer setup now also takes bottom gradient blobs