works for 32bit len