Added the optional blocks function. #4