works with missing attributes