slight interface changes and documentation