#3 added perspective search