some interfaces usefull for keeping dependencies between projects at a minimum