much better attribute completion