implement the Image class from #issues #902