also, you use promises weirdly, instead of setting the initiliazed to null, why not reject the promise?