traq rewrite to learn rust