core: start to implement variable expression