basic framework and folder structure