viewer is done
player is not yet implemented