adjusted for coding standards