Added many comments, prepared to add an option to change font colors