moved analysis to server