ignore userstate
working on model