framework skeleton