Unit chain: interface + unit tests