Added Interface class + other edits