allocate state angle according to need