create image; need refractoring