still broken but cleaned up