main logic2