base domain design，and base function test