better, but not perfect