fixed for real - don't use assembly