code improvements and now validates as html5