improve performance + fix incoherence