everything learned from Gizan34 merged