performance first, then other stuff