add user tracking, untested, no comments