almost finished base of framework