Added some show/hide gimmicks, code clean up and commenting