modularized client + other shit in server