uses User proxy model.
add middleware for user proxy, but not using it.
style update