initial whole frame work