top down approach from driver, resulting in addition of account and position classes