asynchronous loading added (not used yet)
merge