Reordering, still in need for a major rewrite..