remove code duplicates
update JavaDoc