basic framework is in place