#20, #19, #18, Corrected typo and follow standard requirement