implementing area compoents