adding the two main components in a working version