first version,base frame