smarter allocation