update: refactor view creation