first image filters, files reader and writer. Code still looks like spaghetti:(