#1
#2
hmm... thanks for this.
#3
#4