added logic to allocate new EIP