added useful libs
started using promises