different interface for extensions
primitive site generator