CONSTRUCTING ARTIFICIAL INTELLIGENCE VIRTUAL ASSISTANTS: THE PROGRAMMER'S GUIDE