expression implementation