agent pattern
gitignore
dynamic proxy