https://www.gitbook.com/book/doodlewind/js-framework-intro/details