now working - just cleanup / reduction left