Framework for lab 6&7. Almost complete lab 8.