while I refactor the server view code. I think this file is not structed well
full of long lines