updated model generic