initial isValidBlock method. not finished. not tested