add a better version support and add useful methods
Merge pull request #16 from SIMS-Topaz/aja/enhance_version_support

add a better version support and add useful methods