20140826 almost done)