PR for code review

Please fix indentions (use 4 spaces instead) :bow:  (apply to all)