add dragon scene; add signal supports; refactor the source codes