implement file attachments feature