updated with jeff's part of answers