framework work