more progress, seems to work