additional allocation functions