Redefined classes, updated JavaDoc