close to C version in quality (on VE at least)