major cleanup, still broken