controller logic update