remove unsafe*, it's safe to hide IO