Implement JWT

change them all to be "class" not "case class"