started rewriting it in es-next

lets make it faster!