re-factor views