Broke server up into components