makes some classes final
changes incorrect names
gets rid of viector