unfinished: stop reusing views to simplify the code (premature optimization)