testing and error handling for block assignment and distribution