continued allocate implementation