Works and is correct implemented.