basic framework completed