add and modify for AOSP