semi working version on all three platforms