modified non blocking exercise. Need to work on column exchange