Beginning of framework