Feature/java api