separate into views