add support for nested expression, need to work on deletion method