An interface framework