reduce frame work