abstracted to an image class for easy manipulation