complete class is now final to prevent inheritance