rewriting the android code base