complete Image class, not tested until ImageIO is done