base bot functionallity