cleaned up version handling