Implemented basic interface class, and general improvements