Added javadoc and @Override's