much nicer status and client-side stuff