some changes, still in progress