pass in functions for security (login, access)
fix test to avoid infinite loop
join now works
linter
messages working on server side