General layout is implemented, needs to be tweaked in places.