added alternative image processing functions