micro define vs function update