add watch mode
fix callbacks