implement table impl