Added Java/Android implementation