add a few interfaces and initial mock implementations