renamed to reflect dynamic behavior