refactor user view for compactness!