allocating data using new