panel rewrite
panels work but are hackish