------------------------------------------------------------- TYPE 1 ----- -------------------------------------------------------
-------------------------------------------- TYPE 2 ----- -------------------------------------------------------
-------------------------------------------- TYPE 3 ----- -------------------------------------------------------