refactor views to have more reuse