MAIN LOGIC