image fully implemented