refactored, added bot