add unit tests && server updated