review code, make all classes final whenever possible