some more modularization, first image construction