some sources
some pictures + code exaples added