stupid simplifier (and its got a bug preventing some rendering), but the structure is here for a better error function and a bug hunt