added annotations 'isolated', 'pure', 'lazy'