split no longer does any mallocs