cleaned up, responsive