Cleaned up the pool alloc<> method a bit