Initial Commit: mostly works -- on android, iOS, linux and windows