Updated interface to include new features, more OOP.