update main logical