scaffold user logic