support $ operator