using fast Walsh transfomration instead