built basic framework