implement controller and view -- basic mvp...