Improve wrap function