more work on SW