// better version handling