Major refactor (splitted app in 3 pieces) and added the components object