Added dynamic linking, error checking, and default platform