This is kind of a mess... and a client/server media player