These 4 promises should be factorized into ONE: they do the same thing, and are mostly duplication. This is always the same: PLEASE always define vars, NEVER copy/paste promises!