some demos those code when I read and some js tools can reuse