basic bot implementation