address allocation