remade utils with PROMISES! yay