expression api implemented, not tested