Working on the shelves, basic layout now has initial behaviour working