refactored for better naming conventions