gustafn
committed
on 01 Feb 20
split up large method into three