interface cleanup, and docs