Add & improve JavaDoc