introduced hook domain and base