Relaunch

major refactoring and client cleanup
@dknochen these shouldn't be committed.