Client engine

Merges clientEngine into master