some framework complete