created dependency model and interface