upgrade to java 1.8, rewrite some user controller code