added number support, optimized creating tokens