modified apphelper