move http logic to different controllers + controllerfactory