Updated with functional controllers and views