partially following microsoft naming conventions.
perfection