merged with master, added some headers and moved loading to use them.

Signed-off-by: interdpth <interdpth@gmail.com>
Merge branch 'master' into interdpth-master
Merge branch 'interdpth-master'