Added the likeliest order of implementation