Updated to have the components actually work