added occurs check