functional bot

needs work