added client engine skeleton