split to modules
baconization part I