add more cell allocation routine