added support for making concurrent calls. some cleanup