basic controller view structure