adjusted interfaces and tests