Skip to main content

Leadership

Ensuring the Fulfillment of Goodwill's Mission

Goodwill Keystone Area Board of Directors

Goodwill Keystone Area's volunteer Board of Directors governs and supports staff, ensuring the organization fulfills its mission of advancing sustainability for individuals, families and the community.

  • Kenneth Norman – Chair
  • Ann Doerries – Vice Chair
  • Michael Curci – Finance Chair
  • Dru Rai
  • Hugh Simpson
  • Jamie Barbosa
  • Jim Prussack
  • Pam Formica
  • Scot Case
  • Edward Lada, Jr. – Goodwill Keystone Area President and CEO

Goodwill Keystone Area Foundation Board of Directors

The Foundation is a source of capital and seed money for new initiatives to enhance Goodwill’s mission and increase its impact in the 22 central and southeastern Pennsylvania counties we serve. The Foundation Board of Directors oversees efforts to attract philanthropic contributions that support current services and build an endowment for future Goodwill endeavors.

  • Kenneth Norman – Chair
  • Harris Booker, Jr. – Vice Chair
  • Marion Alexander – Development Committee Chair
  • Dru Rai
  • Frank Pinto
  • Michael Curci
  • Paul Mattaini
  • Edward Lada, Jr. – President and CEO
  • Colleen McAuliffe – Treasurer
  • Sue Soderberg – Vice President/Secretary

Executive Team & Senior Leader Team

Goodwill's Executive Team and Senior Leader Team – with their diverse expertise, strategic vision and unwavering commitment – lead efforts to drive sustainable progress for those we serve.

Executive Team

  • Ed Lada, Jr. - President and CEO
  • Andrew Gackenbach - Chief Retail Operations Officer
  • Colleen McAuliffe - Chief Financial Officer
  • Sue Soderberg - Chief Mission Officer

Senior Leader Team

  • Bruce Brockman - Vice President of Operations
  • Jeffrey Walker - Vice President of Finance
  • Dawn Deivert - Vice President of Human Resources/Risk Management
  • Melissa Jarratt – Director of Human Resources
  • Cheryl Kulp - Vice President of Donated Goods Retail
  • Jennifer Schley - Vice President of Mission Services
  • Chris Butler - Director of Business Services
  • Cheryl Garr - Director of Mission Advancement
  • Thomas Moll - Director of Information Technology
  • Rachel Shaw – Director of Learning & Organizational Development
  • Jackie Stem - Head of Fund Development
  • Kristie Williams - Director of Compensation, Benefits and Data Systems
truetrue
Settings18.163MBMemory Usage363msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.0
PHP Version8.3.21
Identityguest
Response200
Templategoodwill-cassiopeia
Database
Server
mysql
Version
10.5.27-MariaDB
Collation
utf8_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:63 [ "USER" => "yourgood" "HOME" => "/var/www/vhosts/yourgoodwill.org" "SCRIPT_NAME" => ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1748128252 "last" => 1748128252...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (3.51MB) (73.88ms)
  • afterInitialise (6.95MB) (166ms)
  • afterRoute (632.37KB) (2.37ms)
  • beforeRenderComponent com_content (498.07KB) (6.43ms)
  • Before Access::preloadComponents (all components) (998.27KB) (14.14ms)
  • After Access::preloadComponents (all components) (121.74KB) (1.52ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (31μs)
  • After Access::preloadPermissions (com_content) (434.7KB) (2.19ms)
  • Before Access::getAssetRules (id:70 name:com_content.article.11) (18.65KB) (61μs)
  • After Access::getAssetRules (id:70 name:com_content.article.11) (26.68KB) (1.26ms)
  • afterRenderComponent com_content (2.87MB) (46.84ms)
  • afterDispatch (4.19KB) (216μs)
  • beforeRenderRawModule mod_menu (Main Menu) (864.95KB) (10.02ms)
  • afterRenderRawModule mod_menu (Main Menu) (361.92KB) (16.5ms)
  • beforeRenderModule mod_menu (Main Menu) (22.83KB) (1.96ms)
  • afterRenderModule mod_menu (Main Menu) (30.16KB) (700μs)
  • afterRender (592.27KB) (18.93ms)
  • 1 x afterInitialise (6.95MB) (45.56%)
    166ms
    1 x afterLoad (3.51MB) (20.33%)
    73.88ms
    1 x afterRenderComponent com_content (2.87MB) (12.89%)
    46.84ms
    1 x afterRender (592.27KB) (5.21%)
    18.93ms
    1 x afterRenderRawModule mod_menu (Main Menu) (361.92KB) (4.54%)
    16.50ms
    1 x Before Access::preloadComponents (all components) (998.27KB) (3.89%)
    14.14ms
    1 x beforeRenderRawModule mod_menu (Main Menu) (864.95KB) (2.76%)
    10.02ms
    1 x beforeRenderComponent com_content (498.07KB) (1.77%)
    6.43ms
    1 x afterRoute (632.37KB) (0.65%)
    2.37ms
    1 x After Access::preloadPermissions (com_content) (434.7KB) (0.6%)
    2.19ms
    1 x beforeRenderModule mod_menu (Main Menu) (22.83KB) (0.54%)
    1.96ms
    1 x After Access::preloadComponents (all components) (121.74KB) (0.42%)
    1.52ms
    1 x After Access::getAssetRules (id:70 name:com_content.article.11) (26.68KB) (0.35%)
    1.26ms
    1 x afterRenderModule mod_menu (Main Menu) (30.16KB) (0.19%)
    700μs
    1 x afterDispatch (4.19KB) (0.06%)
    216μs
    1 x Before Access::getAssetRules (id:70 name:com_content.article.11) (18.65KB) (0.02%)
    61μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.01%)
    31μs
22 statements were executed, 5 of which were duplicates, 17 unique10.82ms152.75KB
  • SELECT @@SESSION.sql_mode;127μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:259Copy
  • SELECT `data` FROM `jmla_session` WHERE `session_id` = ?288μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = :session_id LIMIT 1220μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jmla_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)691μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jmla_viewlevels`253μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jmla_usergroups` AS `a` LEFT JOIN `jmla_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest202μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41)852μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 01.05ms93.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jmla_content`810μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `jmla_content` SET `hits` = (`hits` + 1) WHERE `id` = '11'745μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jmla_content` AS `a` INNER JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)453μs6.12KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`458μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jmla_contentitem_tag_map` AS `m` INNER JOIN `jmla_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)371μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`438μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM jmla_fields AS a LEFT JOIN `jmla_languages` AS l ON l.lang_code = a.language LEFT JOIN jmla_users AS uc ON uc.id=a.checked_out LEFT JOIN jmla_viewlevels AS ag ON ag.id = a.access LEFT JOIN jmla_users AS ua ON ua.id = a.created_user_id LEFT JOIN jmla_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jmla_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC918μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `jmla_modules` AS `m` LEFT JOIN `jmla_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `jmla_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`680μs2.13KBParams/libraries/src/Cache/Controller/CallbackController.php:120Copy
  • SELECT * FROM `jmla_schemaorg` WHERE `itemId` = :itemId AND `context` = :context322μs2.8KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jmla_content` AS `a` INNER JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)505μs6.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jmla_content` AS `a` INNER JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)450μs6.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `jmla_scheduler_tasks` AS `a` WHERE `a`.`state` = 1186μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = ?180μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `jmla_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?620μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy