new proposal
Made main code structure.