created a general loading architecture