modified entire design, added template