construct basic framework, modules need to be verified