more progress (doesn't compile)