adding aynchronous loading