A lot of clean up + now send spacing as an option from the client at init