update finished. components now function