introduce TableContext