added components and tested in Jasmine