dynamic proxy to simplify API usage