implementing views