update functionality and layout