Updated with comments of speclad