refactored properties into private methods