finish documenting core classes