block names should adhere to conventions
make sure we assert if any of these are nil
document assertion conditions