merge from bgalitsky's own git repo
71 files changed