slightly better, still broken-ish