ported to android studio. also completed chapter 27