modularize server components