complete basic framework