Removed some interfaces, added/changes abstract/interface classes