creating separate optimizer objects