more separate compilation support and docs.