added basis for building an interface