added comparison between callback / promises