fixed annotations, updated javadoc