type safety for the quality type methods - breaks the API but this change shouldn't affect many people so we accept that
add @Override annotations
tiny code cleanups