complete coroutine support, add license and misc cleanups