fleshing out Bot and adding tests