Updated: refactored to multiuser