updated with better check, version #