perd hapley