Seperated client into modules