almost done with selver side methods