variable uniqueness; TODO clenup