heavy documentation / API update