added an interface class, basically for my own selfish reasons