minor update

a few minor bug fixes and changed calling pattern functionality should not change with the exception of you can now pass 0 length strings