more renaming, code shuffling, still broken