functional adding text and images