make compatible with all versions 3 and up