improved middleware caller methods