frame allocation